package com.flyduck.system.vo.menu;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * @program: flyduck-platform
 * @description: 系统:部门新增请求VO
 * @author: flyduck
 * @create: 2021-02-05 21:33
 **/
@Data
@ApiModel(value = "系统:部门新增请求VO")
public class SysMenuUpdateReqVO implements Serializable {

    @NotBlank(message = "菜单id不能为空")
    @ApiModelProperty(value = "菜单id",required = true)
    private String id;

    @NotBlank(message = "菜单名称不能为空")
    @ApiModelProperty(value = "菜单名称",required = true)
    private String menuName;

    @ApiModelProperty(value = "上级菜单")
    private String parentId;

    @NotBlank(message = "排序不能为空")
    @ApiModelProperty(value = "排序",required = true)
    private String sort;

    @NotBlank(message = "状态不能为空")
    @Pattern(regexp = "[/^1$|^2&/]*", message = "状态为：1启用 2禁用")
    @ApiModelProperty(value = "状态",required = true)
    private String status;

    @ApiModelProperty(value = "访问路径")
    private String path;

    @ApiModelProperty(value = "组件路径")
    private String component;

    @NotBlank(message = "菜单类型不能为空")
    @Pattern(regexp = "[/^1$|^2$|^3&/]*", message = "性别为：1目录 2菜单 3按钮")
    @ApiModelProperty(value = "菜单类型（1目录 2菜单 3按钮）",required = true)
    private String menuType;

    @ApiModelProperty(value = "可以访问的路径")
    private String url;

    @ApiModelProperty(value = "菜单图标")
    private String icon;
}
